package 回溯包;

import java.util.ArrayList;
import java.util.List;

/**
 * TODO
 *
 * @Description
 * @Author Lx
 * @Date 2024/7/5 15:08
 **/
public class 组合 {
    public static void main(String[] args) {

    }


    List<List<Integer>> ret=new ArrayList<>();
    List<Integer> path=new ArrayList<>();
    boolean[] st=new boolean[100];


    public List<List<Integer>> combine(int n, int k) {
        dfs(n,k,1);
        return ret;
    }

    //因为组合中不能有重复的数，所以要用index
    public void dfs(int n,int k,int index){
        if(path.size()==k){
            ret.add(new ArrayList<>(path));
            return ;//结束
        }

        for(int i=index;i<=n;i++){
            path.add(i);
            dfs(n,k,i+1);
            path.remove(path.size()-1);
        }
    }
}
